/**
 * Solarized syntax
 * for use with Jekyll and Pygments
 * based on Solarized Dark theme for reveal.js by Achim Staebler
 * and Solarized colors by Ethan Schoonover
 * http://ethanschoonover.com/solarized
 * remixed by: Thomas Friese
 * http://tasmo.rocks/
**/
@mixin syntax( $sybase03,$sybase02,$sybase01,$sybase00,$sybase0,$sybase1,$sybase2,$sybase3,$syyellow,$syorange,$syred,$symagenta,$syviolet,$syblue,$sycyan,$sygreen )
{
  .reveal pre {
    background-color: $sybase03; color: $sybase1;
    code a {
      &:not( .image ), &:active, &:visited {
        color: $sybase1;
      }
      &:hover {
        color: lighten( $sybase1, 20% );
      }
    }
  }
  .reveal pre code {
  	.lineno { color: $sybase01 } // Line Numbers
  	.c { color: $sybase01 } /* Comment */
  	.err { color: $sybase1 } /* Error */
  	.g { color: $sybase1 } /* Generic */
  	.k { color: $sygreen } /* Keyword */
  	.l { color: $sybase1 } /* Literal */
  	.n { color: $sybase1 } /* Name */
  	.o { color: $sygreen } /* Operator */
  	.x { color: $syorange } /* Other */
  	.p { color: $sybase1 } /* Punctuation */
  	.cm { color: $sybase01 } /* Comment.Multiline */
  	.cp { color: $sygreen } /* Comment.Preproc */
  	.c1 { color: $sybase01 } /* Comment.Single */
  	.cs { color: $sygreen } /* Comment.Special */
  	.gd { color: $sycyan } /* Generic.Deleted */
  	.ge { color: $sybase1; font-style: italic } /* Generic.Emph */
  	.gr { color: $syred } /* Generic.Error */
  	.gh { color: $syorange } /* Generic.Heading */
  	.gi { color: $sygreen } /* Generic.Inserted */
  	.go { color: $sybase1 } /* Generic.Output */
  	.gp { color: $sybase1 } /* Generic.Prompt */
  	.gs { color: $sybase1; font-weight: bold } /* Generic.Strong */
  	.gu { color: $syorange } /* Generic.Subheading */
  	.gt { color: $sybase1 } /* Generic.Traceback */
  	.kc { color: $syorange } /* Keyword.Constant */
  	.kd { color: $syblue } /* Keyword.Declaration */
  	.kn { color: $sygreen } /* Keyword.Namespace */
  	.kp { color: $sygreen } /* Keyword.Pseudo */
  	.kr { color: $syblue } /* Keyword.Reserved */
  	.kt { color: $syred } /* Keyword.Type */
  	.ld { color: $sybase1 } /* Literal.Date */
  	.m { color: $sycyan } /* Literal.Number */
  	.s { color: $sycyan } /* Literal.String */
  	.na { color: $sybase1 } /* Name.Attribute */
  	.nb { color: $syyellow } /* Name.Builtin */
  	.nc { color: $syblue } /* Name.Class */
  	.no { color: $syorange } /* Name.Constant */
  	.nd { color: $syblue } /* Name.Decorator */
  	.ni { color: $syorange } /* Name.Entity */
  	.ne { color: $syorange } /* Name.Exception */
  	.nf { color: $syblue } /* Name.Function */
  	.nl { color: $sybase1 } /* Name.Label */
  	.nn { color: $sybase1 } /* Name.Namespace */
  	.nx { color: $sybase1 } /* Name.Other */
  	.py { color: $sybase1 } /* Name.Property */
  	.nt { color: $syblue } /* Name.Tag */
  	.nv { color: $syblue } /* Name.Variable */
  	.ow { color: $sygreen } /* Operator.Word */
  	.w { color: $sybase1 } /* Text.Whitespace */
  	.mf { color: $sycyan } /* Literal.Number.Float */
  	.mh { color: $sycyan } /* Literal.Number.Hex */
  	.mi { color: $sycyan } /* Literal.Number.Integer */
  	.mo { color: $sycyan } /* Literal.Number.Oct */
  	.sb { color: $sybase01 } /* Literal.String.Backtick */
  	.sc { color: $sycyan } /* Literal.String.Char */
  	.sd { color: $sybase1 } /* Literal.String.Doc */
  	.s2 { color: $sycyan } /* Literal.String.Double */
  	.se { color: $syorange } /* Literal.String.Escape */
  	.sh { color: $sybase1 } /* Literal.String.Heredoc */
  	.si { color: $sycyan } /* Literal.String.Interpol */
  	.sx { color: $sycyan } /* Literal.String.Other */
  	.sr { color: $syred } /* Literal.String.Regex */
  	.s1 { color: $sycyan } /* Literal.String.Single */
  	.ss { color: $sycyan } /* Literal.String.Symbol */
  	.bp { color: $syblue } /* Name.Builtin.Pseudo */
  	.vc { color: $syblue } /* Name.Variable.Class */
  	.vg { color: $syblue } /* Name.Variable.Global */
  	.vi { color: $syblue } /* Name.Variable.Instance */
  	.il { color: $sycyan } /* Literal.Number.Integer.Long */
  }
}
// dark syntax for light layout
.light { @include syntax( $base03,$base02,$base01,$base00,$base0,$base1,$base2,$base3,$yellow,$orange,$red,$magenta,$violet,$blue,$cyan,$green ) }
// light syntax for dark layout
.dark { @include syntax( $base3,$base2,$base1,$base0,$base00,$base01,$base02,$base03,$yellow,$orange,$red,$magenta,$violet,$blue,$cyan,$green ) }
